using SqlSugar;
using Vin.Extension.Framework.Entities;
using Vin.Extension.SqlSugar.Attributes;

namespace Vin.Extension.Framework.Geo.Entities;

/// <summary>
/// 地区表
/// </summary>
[VinSqlSugarEntity("地区表")]
public record SysGeo : VinPrimaryRecordEntity
{
    /// <summary>
    /// 全ID
    /// </summary>
    [SugarColumn(ColumnDescription = "全ID")]
    public long? FullId { get; set; }

    /// <summary>
    /// 父级ID
    /// </summary>
    [SugarColumn(ColumnDescription = "父级ID")]
    public long? Pid { get; set; }

    /// <summary>
    /// 深度
    /// </summary>
    [SugarColumn(ColumnDescription = "深度")]
    public int? Deep { get; set; }

    /// <summary>
    /// 简称
    /// </summary>
    [SugarColumn(ColumnDescription = "简称", Length = 50)]
    public string? Name { get; set; }

    /// <summary>
    /// 全称
    /// </summary>
    [SugarColumn(ColumnDescription = "全称", Length = 100)]
    public string? FullName { get; set; }

    /// <summary>
    /// 深度名称
    /// </summary>
    [SugarColumn(ColumnDescription = "深度名称", Length = 255)]
    public string? DeepName { get; set; }

    /// <summary>
    /// 拼音前缀
    /// </summary>
    [SugarColumn(ColumnDescription = "拼音前缀", Length = 50)]
    public string? PinyinPrefix { get; set; }

    /// <summary>
    /// 拼音
    /// </summary>
    [SugarColumn(ColumnDescription = "拼音", Length = 255)]
    public string? Pinyin { get; set; }

    /// <summary>
    /// 默认经度
    /// </summary>
    [SugarColumn(ColumnDescription = "经度", DecimalDigits = 8, Length = 18, DefaultValue = "0")]
    public decimal? Longitude { get; set; }

    /// <summary>
    /// 默认纬度
    /// </summary>
    [SugarColumn(ColumnDescription = "纬度", DecimalDigits = 8, Length = 18, DefaultValue = "0")]
    public decimal? Latitude { get; set; }
}